#define LOGIC_IMPLEMENTATION

#include "includes.h"


/****************************************************
 函数名称: logic_init
 函数作用: 系统初始化函数
 函数参数: 无
 返回值: 无
****************************************************/
void logic_init(void)
{
    // 底层初始化
    mcu_init();

    MEMCLR(baseTime);
}

/****************************************************
 函数名称: time_basic_on
 函数作用: 基本时基开启
 函数参数: 无
 返回值: 无
****************************************************/
void time_basic_on(void)
{
    if (flagTime.is_100ms == TRUE)  baseTime.is_100ms = TRUE;
    if (flagTime.is_500ms == TRUE)  baseTime.is_500ms = TRUE;
    if (flagTime.is_1s == TRUE)     baseTime.is_1s = TRUE;
    if (flagTime.is_1min == TRUE)   baseTime.is_1min = TRUE;
}

/****************************************************
 函数名称: time_basic_off
 函数作用: 基本时基关闭
 函数参数: 无
 返回值: 无
****************************************************/
void time_basic_off(void)
{
    if (baseTime.is_100ms == TRUE)  flagTime.is_100ms = FALSE;
    if (baseTime.is_500ms == TRUE)  flagTime.is_500ms = FALSE;
    if (baseTime.is_1s == TRUE)     flagTime.is_1s = FALSE;
    if (baseTime.is_1min == TRUE)   flagTime.is_1min = FALSE;
    MEMCLR(baseTime);
}

/****************************************************
 函数名称: logic_run_led
 函数作用: 系统运行指示灯
 函数参数: 无
 返回值: 无
****************************************************/
void logic_run_led(void)
{
    if (baseTime.is_500ms == TRUE)
    {
        LED_RED_TOGGLE();
    }
}

/****************************************************
 函数名称: logic_time_update
 函数作用: 逻辑时间更新
 函数参数: 无
 返回值: 无
****************************************************/
void logic_time_update(void)
{
    ;
}

/****************************************************
 函数名称: logic_main
 函数作用: 系统主函数
 函数参数: 无
 返回值: 无
****************************************************/
void logic_main(void)
{
    // 基本时基开启
    time_basic_on();

    // 系统运行指示灯
    logic_run_led();

    // 逻辑时间更新
    logic_time_update();

    // 基本时基关闭
    time_basic_off();
}
